package com.xs.designpattern;

/**
 * 请求处理程序接口
 *
 * @author xs
 */
public interface RequestHandler {
    /**
     * 可以处理请求的类型
     *
     * @param req 请求
     * @return 是否处理
     */
    boolean canHandleRequest(Request req);

    /**
     * 获得优先权
     *
     * @return 优先级
     */
    int getPriority();

    /**
     * 处理请求
     *
     * @param req 请求
     */
    void handle(Request req);

    /**
     * 获取处理请求的人
     *
     * @return 处理请求的名字
     */
    String name();
}
